home *** CD-ROM | disk | FTP | other *** search
- package java.beans;
-
- import java.lang.reflect.Field;
-
- class StaticFieldsPersistenceDelegate extends PersistenceDelegate {
- protected void installFields(Encoder var1, Class<?> var2) {
- Field[] var3 = var2.getFields();
-
- for(int var4 = 0; var4 < var3.length; ++var4) {
- Field var5 = var3[var4];
- if (Object.class.isAssignableFrom(var5.getType())) {
- var1.writeExpression(new Expression(var5, "get", new Object[]{null}));
- }
- }
-
- }
-
- protected Expression instantiate(Object var1, Encoder var2) {
- throw new RuntimeException("Unrecognized instance: " + var1);
- }
-
- public void writeObject(Object var1, Encoder var2) {
- if (var2.getAttribute(this) == null) {
- var2.setAttribute(this, Boolean.TRUE);
- this.installFields(var2, var1.getClass());
- }
-
- super.writeObject(var1, var2);
- }
- }
-